Circuito RLC paralelo sem fonte

Jupyter Notebook desenvolvido por Gustavo S.S.

Circuitos RLC em paralelo têm diversas aplicações, como em projetos de filtros e redes de comunicação. Suponha que a corrente inicial I0 no indutor e a tensão inicial V0 no capacitor sejam:

\begin{align} {\Large i(0) = I_0 = \frac{1}{L} \int_{-\infty}^{0} v(t) dt} \end{align}\begin{align} {\Large v(0) = V_0} \end{align}

Portanto, aplicando a LKC ao nó superior fornece:

\begin{align} {\Large \frac{v}{R} + \frac{1}{L} \int_{-\infty}^{t} v(\tau) d\tau + C \frac{dv}{dt} = 0} \end{align}

Extraindo a derivada em relação a t e dividindo por C resulta em:

\begin{align} {\Large \frac{d^2v}{dt^2} + \frac{1}{RC} \frac{dv}{dt} + \frac{1}{LC} v = 0} \end{align}

Obtemos a equação característica substituindo a primeira derivada por s e a segunda por s^2:

\begin{align} {\Large s^2 + \frac{1}{RC} s + \frac{1}{LC} = 0} \end{align}

Assim, as raízes da equação característica são:

\begin{align} {\Large s_{1,2} = -\alpha \pm \sqrt{\alpha^2 - \omega_0^2}} \end{align}

onde:

\begin{align} {\Large \alpha = \frac{1}{2RC}, \space \space \space \omega_0 = \frac{1}{\sqrt{LC}} } \end{align}

Amortecimento Supercrítico / Superamortecimento (α > ω0)

Quando α > ω0, as raízes da equação característica são reais e negativas. A resposta é:

\begin{align} {\Large v(t) = A_1 e^{s_1 t} + A_2 e^{s_2 t} } \end{align}

Amortecimento Crítico (α = ω0)

Quando α = ω0 as raízes da equação característica são reais e iguais de modo que a resposta seja:

\begin{align} {\Large v(t) = (A_1 + A_2t)e^{-\alpha t}} \end{align}

Subamortecimento (α < ω0)

Quando α < ω0, nesse caso, as raízes são complexas e podem ser expressas como segue:

\begin{align} {\Large s_{1,2} = -\alpha \pm j\omega_d} \\ \\{\Large \omega_d = \sqrt{\omega_0^2 - \alpha^2}} \end{align}\begin{align} {\Large v(t) = e^{-\alpha t}(A_1 cos(\omega_d t) + A_2 sen(\omega_d t))} \end{align}

As constantes A1 e A2 em cada caso podem ser determinadas a partir das condições iniciais. Precisamos de v(0) e dv(0)/dt.

Exemplo 8.5

No circuito paralelo da Figura 8.13, determine v(t) para t > 0, supondo que v(0) = 5 V, i(0) = 0, L = 1 H e C = 10 mF. Considere os seguintes casos:

R = 1,923 Ω,

R = 5 Ω e

R = 6,25 Ω .


In [4]:
print("Exemplo 8.5")

from sympy import *

m = 10**(-3) #definicao de mili
L = 1
C = 10*m
v0 = 5
i0 = 0

A1 = symbols('A1')
A2 = symbols('A2')
t = symbols('t')

def sqrt(x, root = 2): #definir funcao para raiz
    y = x**(1/root)
    return y

print("\n--------------\n")

## PARA R = 1.923
R = 1.923

print("Para R = ", R)

def resolve_rlc(R,L,C):

    alpha = 1/(2*R*C)
    omega = 1/sqrt(L*C)
    print("Alpha:",alpha)
    print("Omega:",omega)
    
    s1 = -alpha + sqrt(alpha**2 - omega**2)
    s2 = -alpha - sqrt(alpha**2 - omega**2)

    def rlc(alpha,omega): #funcao para verificar tipo de amortecimento
        resposta = ""
        if alpha > omega:
            resposta = "superamortecimento"
            v = A1*exp(s1*t) + A2*exp(s2*t)
        elif alpha == omega:
            resposta = "amortecimento critico"
            v = (A1 + A2*t)*exp(-alpha*t)
        else:
            resposta = "subamortecimento"
            v = exp(-alpha*t)*(A1*cos(omega_d*t) + A2*sin(omega_d*t))
        return resposta,v

    resposta,v = rlc(alpha,omega)
    print("Tipo de resposta:",resposta)
    print("Resposta v(t):",v)
    print("v(0):",v.subs(t,0))
    print("dv(0)/dt:",v.diff(t).subs(t,0))
    
    return alpha,omega,s1,s2,resposta,v

alpha,omega,s1,s2,resposta,v = resolve_rlc(R,L,C)

#v(0) = 5 = A1 + A2 -> A2 = 5 - A1
#dv(0)/dt = -2A1 - 50A2
#C*dv(0)/dt + i(0) + v(0)/R = 0
    #0.01*(-2A1 - 50A2) + 0 + 5/1.923 = 0
    #(-2A1 -50(5 - A1)) = -5/(1.923*0.01)
    #48A1 = 250 - 5/(1.923*0.01)
A1 = (250 - 5/(1.923*0.01))/48
print("Constante A1:",A1)
A2 = 5 - A1
print("Constante A2:",A2)
v = A1*exp(s1*t) + A2*exp(s2*t)
print("Resposta v(t):",v,"V")

print("\n--------------\n")

## PARA R = 5
R = 5

A1 = symbols('A1')
A2 = symbols('A2')

print("Para R = ", R)

alpha,omega,s1,s2,resposta,v = resolve_rlc(R,L,C)

#v(t) = (A1 + A2t)e^(-alpha*t)

#v(0) = A1 = 5
A1 = 5
#C*dv(0)/dt + i(0) + v(0)/R = 0
    #0.01(-10A1 + A2) + 0 + 5/5 = 0
    #0.01A2 = -1 + 0.5
A2 = (-1 + 0.5)/0.01

print("Constante A1:",A1)
print("Constante A2:",A2)
v = (A1 + A2*t)*exp(-alpha*t)
print("Resposta v(t):",v,"V")

print("\n--------------\n")


## PARA R = 6.25
R = 6.25

A1 = symbols('A1')
A2 = symbols('A2')

print("Para R = ", R)

omega_d = sqrt(omega**2 - alpha**2)
alpha,omega,s1,s2,resposta,v = resolve_rlc(R,L,C)

#v(t) = e^-(alpha*t)*(A1cos(wd*t) + A2sen(wd*t))

#v(0) = A1 = 5
A1 = 5
#C*dv(0)/dt + i(0) + v(0)/R = 0
    #0.01*(-8A1 + 6A2) + 0 + 5/6.25 = 0
    #-0.4 + 0.06A2 = -5/6.25
A2 = (-5/6.25 + 0.4)/0.06

print("Constante A1:",A1)
print("Constante A2:",A2)
v = exp(-alpha*t)*(A1*cos(omega_d*t) + A2*sin(omega_d*t))
print("Resposta v(t):",v,"V")


Exemplo 8.5

--------------

Para R =  1.923
Alpha: 26.001040041601662
Omega: 10.0
Tipo de resposta: superamortecimento
Resposta v(t): A1*exp(-1.9999133337787*t) + A2*exp(-50.0021667494246*t)
v(0): A1 + A2
dv(0)/dt: -1.9999133337787*A1 - 50.0021667494246*A2
Constante A1: -0.20855000866701326
Constante A2: 5.208550008667014
Resposta v(t): 5.20855000866701*exp(-50.0021667494246*t) - 0.208550008667013*exp(-1.9999133337787*t) V

--------------

Para R =  5
Alpha: 10.0
Omega: 10.0
Tipo de resposta: amortecimento critico
Resposta v(t): (A1 + A2*t)*exp(-10.0*t)
v(0): A1
dv(0)/dt: -10.0*A1 + A2
Constante A1: 5
Constante A2: -50.0
Resposta v(t): (-50.0*t + 5)*exp(-10.0*t) V

--------------

Para R =  6.25
Alpha: 8.0
Omega: 10.0
Tipo de resposta: subamortecimento
Resposta v(t): A1*exp(-8.0*t)
v(0): A1
dv(0)/dt: -8.0*A1
Constante A1: 5
Constante A2: -6.666666666666667
Resposta v(t): 5*exp(-8.0*t) V

Problema Prático 8.5

Na Figura 8.13, seja R = 2 Ω, L = 0,4 H, C = 25 mF, v(0) = 0, e i(0) = 50 mA. Determine v(t) para t > 0.


In [5]:
print("Problema Prático 8.5")

R = 2
L = 0.4
C = 25*m
v0 = 0
i0 = 50*m

A1 = symbols('A1')
A2 = symbols('A2')

alpha,omega,s1,s2,resposta,v = resolve_rlc(R,L,C)

#C*dv(0)/dt + i(0) + v(0)/R = 0
    #C*(-10A1 + A2) + i0 + v(0)/2 = 0
    #v(0) = 0 = A1
    #C*A2 = -i0
A2 = -i0/C
A1 = 0

print("Constante A1:",A1)
print("Constante A2:",A2)
v = (A1 + A2*t)*exp(-10.0*t)
print("Resposta v(t):",v,"V")


Problema Prático 8.5
Alpha: 10.0
Omega: 10.0
Tipo de resposta: amortecimento critico
Resposta v(t): (A1 + A2*t)*exp(-10.0*t)
v(0): A1
dv(0)/dt: -10.0*A1 + A2
Constante A1: 0
Constante A2: -2.0
Resposta v(t): -2.0*t*exp(-10.0*t) V

Exemplo 8.6

Determine v(t) para t > 0 no circuito RLC da Figura 8.15.


In [12]:
print("Exemplo 8.6")

u = 10**(-6) #definicao de micro
Vs = 40
L = 0.4
C = 20*u

A1 = symbols('A1')
A2 = symbols('A2')

#Para t < 0
v0 = Vs*50/(50 + 30)
i0 = -Vs/(50 + 30)

print("V0:",v0,"V")
print("i0:",i0,"A")

#Para t > 0
#C*dv(0)/dt + i(0) + v(0)/50 = 0
    #20u*dv(0)/dt - 0.5 + 0.5 = 0
    #dv(0)/dt = 0

R = 50
alpha,omega,s1,s2,resposta,v = resolve_rlc(R,L,C)

#v(0) = 25 = A1 + A2
    #A1 = 25 - A2
#dv(0)/dt = -146A1 - 854A2 = 0
    #-146(25 - A2) - 854A2 = 0
    #146A2 - 854A2 = 3650
    #-708A2 = 3650
A2 = -3650/708
A1 = 25 - A2

print("Constante A1:",A1)
print("Constante A2:",A2)

v = A1*exp(s1*t) + A2*exp(s2*t)
print("Resposta v(t):",v,"V")


Exemplo 8.6
V0: 25.0 V
i0: -0.5 A
Alpha: 500.0
Omega: 353.5533905932738
Tipo de resposta: superamortecimento
Resposta v(t): A1*exp(-146.446609406726*t) + A2*exp(-853.553390593274*t)
v(0): A1 + A2
dv(0)/dt: -146.446609406726*A1 - 853.553390593274*A2
Constante A1: 30.15536723163842
Constante A2: -5.155367231638418
Resposta v(t): -5.15536723163842*exp(-853.553390593274*t) + 30.1553672316384*exp(-146.446609406726*t) V